package com.iot.ic.service;

import java.util.List;
import java.util.Map;

import com.iot.ic.model.RefereeInfo;
import com.iot.ic.model.ScenesResult;
import com.iot.ic.model.StadiumResult;





/**
 * Created by xiuge on 2017/2/20.
 */
public interface ScenesResultService {
	
	/**
	  * 添加场景比赛成绩信息
	 * @param refereeInfo
	 * @return
	 */
	int addScenesResult(ScenesResult scenesResult);
	
	/**
	  * 修改场景比赛成绩信息
	 * @param refereeInfo
	 * @return
	 */
	int updateScenesResult(ScenesResult scenesResult);
	
	/**
	  * 删除场景比赛成绩信息
	 * @param scenesResultId
	 * @return
	 */
	int deleteScenesResult(int scenesResultId);
	
	/**
	  * 修改场景比赛成绩信息
	 * @param refereeInfo
	 * @return
	 */
	ScenesResult getScenesResultByScenesAndStadiumResult(int stadiumScenesId, int stadiumResultId);

	/**
	 * 获取最近count条场景得分数据
	 * @param count
	 * @return
     */
	List<Map<String,Object>> getScenesReslutList(int count, int teamId, String startTime, String endTime);
	
	
	/**提交场景成绩信息
	 * @param scenesResult
	 * @return
	 */
	Map<String, Object>  postScenesResult(ScenesResult scenesResult);
	
	
	/**
	 * 成绩列表获得场景
	 * @param scenesResult
	 * @return
	 */
	List<ScenesResult>  listScenesResultByStadiumAndTeam(ScenesResult scenesResult);
	
	

	List<ScenesResult> getScenesResultWithIllegalAndManual(int scenesId,int teamId);
	
	
	/**
	 * 根据场景结果Id获得场景基本信息
	 * @param scenesResultId
	 * @return
	 */
	ScenesResult getScenesInfoByScenesResultId(int scenesResultId);
	
	
	/**
	 * 根据比赛结果ID获得场景结果列表
	 * @param stadiumResultId
	 * @return
	 */
	List<ScenesResult> listScenesResultByStadiumResult(int stadiumResultId);

	/**
	 * 更新场景和赛道的得分
	 * @param scenesResultId
	 * @return
     */
	int updateScenceScore(int scenesResultId);

	/**
	 * 获取带违规列表和人工干预列表的场景结果详情
	 * @param scenesResultId
	 * @return
     */
	ScenesResult getScenesResultDetail(int scenesResultId);
	
	
	/**
	 * 获取带违规列表和人工干预列表的场景结果详情
	 * @param scenesResultId
	 * @return
     */
	List<ScenesResult> listRoadScenesResult(int stadiumResultltId);
	/**
	 * 获取比赛信息和队伍信息和场景信息通过场景成绩ID
	 * @param scenesResultId
	 * @return
     */
	Map<String, Object> getStadiumTeamByScenesResult(int scenesResultId);
}
